#ifndef CUBE_STEP_H
#define CUBE_STEP_H

#include "Bsp_step_motor.h"
#include "Auto_Machine.h"

//螺距 mm
//电机旋转一周的高度
#define High_Cycle 4
//需要抬升的高度 mm
#define High 60

// U1还原公式
extern uint8_t U1_Restore_Formula[64];
// U'还原公式
extern uint8_t UC_Restore_Formula[64];
// U2还原公式
extern uint8_t U2_Restore_Formula[64];

// U1
void U1_Restore(void);
// U'
void UC_Restore(void);
// U2
void U2_Restore(void);

// D1
void D1_Restore(void);
// D'
void DC_Restore(void);
// D2
void D2_Restore(void);

// F1
void F1_Restore(void);
// F'
void FC_Restore(void);
// F2
void F2_Restore(void);

// B1
void B1_Restore(void);
// B'
void BC_Restore(void);
// B2
void B2_Restore(void);

// R1
void R1_Restore(void);
// R'
void RC_Restore(void);
// R2
void R2_Restore(void);

// L1
void L1_Restore(void);
// L'
void LC_Restore(void);
// L2
void L2_Restore(void);

//顺时针旋转魔方整体
void Rotate_Cube(void);
//逆时针旋转魔方整体
void CounterRotate_Cube(void);

//抬升魔方
void Lift_Cube(void);
//收回魔方
void CounterLift_Cube(void);

#endif
